package com.by.controller;

import com.by.handler.ValidateException;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class BaseValidateController {
    /**
     * 验证
     * @param result
     */
    protected void valid(BindingResult result){
        Map map=new HashMap();
        //获取验证的错误信息
        List<FieldError> list=result.getFieldErrors();
        if(list.size()>0){
            //说明有错误 验证未通过
            //遍历错误集合
            list.forEach(fe->{
                //将每个错误字段 放入map中
                map.put(fe.getField(),fe.getDefaultMessage());
            });
            //有错误信息 抛出异常
            throw new ValidateException(map);
        }
    }
}
